package com.ruoyi.central.domain;

import com.baomidou.mybatisplus.annotation.*;
import com.ruoyi.common.validation.group.InsertGroup;
import com.ruoyi.common.validation.group.UpdateGroup;
import lombok.Data;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.annotation.Length;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import com.ruoyi.common.core.domain.BaseEntity;

import java.util.List;

/**
 * 工序对象 top_central_process_step
 *
 * @author ruoyi
 * @date 2022-03-02
 */
@Data
@TableName("top_central_process_step")
public class TopCentralProcessStep extends BaseEntity{

    private static final long serialVersionUID = 1L;

    /** 编号 */
    @TableId
    @Length(min = 0,max = 10,message="编号 数据长度不能大于 10")
    private Integer id;

    /** 工序名称 */
    @Excel(name = "工序名称")
    @NotBlank(groups = {InsertGroup.class,UpdateGroup.class},message = "工序名称不能为空")
    @Length(min = 0,max = 50,message="工序名称 数据长度不能大于 50")
    private String name;

    @Excel(name = "图标")
    @Length(min = 0,max = 50,message="图标 数据长度不能大于 100")
    private String icon;

    /** 工艺 */
    @Excel(name = "工艺")
    @NotNull(groups = {InsertGroup.class,UpdateGroup.class},message = "工艺不能为空")
    @Length(min = 0,max = 10,message="工艺 数据长度不能大于 10")
    private Integer artProcessId;

    @TableField(exist = false)
    private TopCentralArtProcess artProcess;

    /** 操作类型 */
    @Excel(name = "操作类型")
    @Length(min = 0,max = 1,message="操作类型 数据长度不能大于 1")
    private Integer operationType;

    /** 任务指令编号列表 */
    @Excel(name = "任务指令编号列表")
    @Length(min = 0,max = 50,message="任务指令编号列表 数据长度不能大于 50")
    private String taskCmdIds;

    @TableField(exist = false)
    private List<Integer> taskCmdIdList;

    @TableField(exist = false)
    private List<TopCentralTaskCmd> taskCmdList;

}
